home *** CD-ROM | disk | FTP | other *** search
- 100 REM\ TRANSFER LOCATIONS PROGRAM
- 200 REM\ WRITTEN BY KURT BRANDON
- 300 DIMX$(300),SD$(300)
- 400 POKE53281,1:POKE53280,7:POKE646,0
- 500 XR=PEEK(186):NL=14:BF$=" ":RT$=CHR$(13)
- 600 MD$=""
- 700 PRINT"[147] TRANSFER LOCATIONS"
- 800 INPUT" MERGE FILE DRIVE";MF
- 900 IFMF<8ORMF>11THENPRINT"[145][145][145][145]":GOTO800
- 1000 INPUT" LOCATIONS FILE DRIVE";DN
- 1100 IFDN<8ORDN>11THENPRINT"[145][145]":GOTO1000
- 1200 MB$="W":OPEN15,DN,15,"I0":OPEN14,MF,15
- 1300 OPEN2,MF,2,"MERGE FILE,S,R"
- 1400 INPUT#14,EN,ET$,ET,ES:CLOSE2
- 1500 IFEN=62THEN4200
- 1600 PRINT"[147] MERGE FILE EXISTS"
- 1700 PRINT" CHOOSE ONE"
- 1800 PRINT" 1) READ IT"
- 1900 PRINT" 2) SCRATCH IT"
- 2000 PRINT" 3) APPEND TO IT"
- 2100 PRINT" 4) QUIT"
- 2200 CN=0:INPUT" CHOICE";CN:CN=ABS(INT(CN))
- 2300 IFCN<1ORCN>4THENPRINT"[145][145][145]":GOTO2200
- 2400 ONCNGOTO2500,4000,4100,15000
- 2500 RC=0:PRINT"[147]":OPEN2,MF,2,"MERGE FILE,S,R"
- 2600 GET#2,A$,A$,A$,A$:IFST=>64THEN PRINT" MERGE FILE IS EMPTY":GOTO3600
- 2700 CLOSE2:OPEN2,MF,2,"MERGE FILE,S,R"
- 2800 GOSUB20000:INPUT#2,PL$,LA$,LO$:RC=RC+1
- 2900 PRINT""PL$:PRINT" "LA$:PRINT" "LO$
- 3000 IFPEEK(653)<>0THEN3000
- 3100 GETA$:IFA$="Q"THENWAIT203,64:GOTO3600
- 3200 IFST=0THENFORZ=1TO150:NEXT: GOTO2800
- 3300 PRINT:PRINT" [195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195]"
- 3400 PRINT" "RC"RECORDS"
- 3500 PRINT" [195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195]":PRINT
- 3600 CLOSE2
- 3700 POKE198,0:PRINT" - ANY KEY TO EXIT -"
- 3800 GETA$:IFA$=""THEN3800
- 3900 GOTO1600
- 4000 PRINT#14,"S0:MERGE FILE":MB$="W":GOTO4200
- 4100 MB$="A"
- 4200 PRINT"[147] SELECT SEARCH MODE"
- 4300 PRINT" 1[144] MANUAL SEARCH"
- 4400 PRINT" 2[144] AUTO SEARCH FOR TEXT STRING"
- 4500 PRINT" 3[144] QUIT"
- 4600 A$="":INPUT" CHOICE";A$:IFA$=""THEN15100
- 4700 IFA$<"1"ORA$>"3"THENPRINT"[145][145][145][145]":GOTO4600
- 4800 IFA$="2"THEN8600
- 4900 IFA$="3"THEN15000
- 5000 :
- 5100 REM\ MANUAL SELECT
- 5200 PRINT"[147] SELECT FILE TO LOAD"
- 5300 PRINT" -- RETURN[144] TO QUIT --"
- 5400 F$="":INPUT" ";F$:IFF$=""THENCLOSE2:GOTO15100
- 5500 IFF$<"A"ORF$>"Z"THENPRINT"[145][145]":GOTO5400
- 5600 FORI=1TO300:X$(I)="":NEXT
- 5700 OPEN8,DN,8,F$:RN=1:GOSUB12400:GOSUB12400:INPUT#8,MN
- 5800 FORRN=2TOMN:GOSUB12400:GOSUB12400:GOSUB20000:INPUT#8,PL$,LA$,LO$
- 5900 X$(RN-1)=PL$+RT$+LA$+RT$+LO$
- 6000 NEXT:CLOSE8:MN=MN-1
- 6100 OPEN2,MF,2,"MERGE FILE,S,"+MB$:MB$="A"
- 6200 FORI=1TO300:SD$(I)=" ":NEXT
- 6300 PO=1:A=1:B=NL:GOSUB15500:KK=1:GOSUB8000
- 6400 :
- 6500 GETA$:IFA$=""THEN6500
- 6600 IFA$=""ANDX$(A+NL-1)=""THENA=1:B=NL:GOSUB15500:KK=1:GOSUB8000:GOTO6500
- 6700 IFA$=""THENA=A+NL:B=B+NL:GOSUB15500:KK=1:GOSUB8000
- 6800 IFA$="[157]"THENIFA=1THEN6500
- 6900 IFA$="[157]"THENA=A-NL:B=B-NL:GOSUB15500:KK=1:GOSUB8000:GOTO6500
- 7000 IFA$=""THENIFKK=NLTHEN6500
- 7100 IFA$=""THENKK=KK+1:GOSUB8000:GOTO6500
- 7200 IFA$="[145]"THENIFKK=1THEN6500
- 7300 IFA$="[145]"THENKK=KK-1:GOSUB8000:GOTO6500
- 7400 IFA$=RT$THENSD$(A+KK-1)=CHR$(32-10*(ASC(SD$(A+KK-1))=32)):GOSUB8100
- 7500 IFA$="[133]"THENFORYY=ATOB:SD$(YY)="*":NEXT:GOSUB15500:GOSUB8000:GOTO6500
- 7600 IFA$="[137]"THENFORYY=ATOB:SD$(YY)=" ":NEXT:GOSUB15500:GOSUB8000:GOTO6500
- 7700 IFA$="R"THENCLOSE2:GOTO5200
- 7800 IFA$="W"THEN8200
- 7900 GOTO6500
- 8000 PRINTLEFT$(MD$,KS)" ":PRINTLEFT$(MD$,KK+1)">":KS=KK+1:RETURN
- 8100 PRINT"":FORZ=ATOB:PRINT""SD$(Z):NEXT:RETURN
- 8200 FORI=1TOMN
- 8300 GOSUB20000:IFSD$(I)="*"THENPRINT#2,X$(I)
- 8400 NEXT:CLOSE2:MB$="A":GOTO5200
- 8500 :
- 8600 PRINT"[147] TEXT SEARCH MODE"
- 8700 GOSUB11400
- 8800 PRINT" \[144] WILL CLOSE MERGE"
- 8900 PRINT" FILE AND RETURN TO MENU"
- 9000 INPUT" SEARCH STRING";CF$
- 9100 IFCF$="\"THEN15100
- 9200 PRINT" SEARCH STRING IS: "CF$"[146]"
- 9300 INPUT" CORRECT (Y/N) Y[157][157][157]";CO$
- 9400 IFCO$<>"N"ANDCO$<>"Y"THENPRINT"[145][145][145]":GOTO9300
- 9500 IFCO$="N"THEN9000
- 9600 OPEN2,MF,2,"MERGE FILE,S,"+MB$
- 9700 FORI=SFTOEF
- 9800 OPEN8,DN,8,CHR$(I)
- 9900 RN=1:GOSUB12400:GOSUB12400:INPUT#8,MN
- 10000 FORRN=2TOMN
- 10100 GOSUB12400:GOSUB12400:GOSUB20000:INPUT#8,MS$,LA$,LO$
- 10200 GOSUB14000:IFRV=1THEN10600
- 10300 GETA$:IFA$="\"THEN15100
- 10400 PRINT""MS$"[144]":PRINT"[145][145]":GOTO10900
- 10500 IFA$="\"THEN15100
- 10600 PRINT""MS$"[144]":PRINT#2,MS$
- 10700 PRINT#2,LA$
- 10800 PRINT#2,LO$
- 10900 NEXT
- 11000 CLOSE8
- 11100 NEXT
- 11200 PRINT"[145]":PRINTBF$
- 11300 GOTO15100
- 11400 INPUT" STARTING AT FILE A [157][157][157][157][157]";SF$
- 11500 IFLEN(SF$)<>1THENPRINT"[145][145]":GOTO11400
- 11600 IFSF$<"A"ORSF$>"Z"THENPRINT"[145][145]":GOTO11400
- 11700 INPUT" ENDING AT FILE Z [157][157][157][157][157]";EF$
- 11800 IFLEN(EF$)<>1THENPRINT"[145][145]":GOTO11700
- 11900 IFEF$<"A"OREF$>"Z"THENPRINT"[145][145]":GOTO11700
- 12000 SF=ASC(SF$):EF=ASC(EF$):RETURN
- 12100 :
- 12200 :
- 12300 REM\ POSITION/ERROR SUB
- 12400 RH=INT(RN/256):RL=RN-(256*RH)
- 12500 PRINT#15,"P"+CHR$(96+8)+CHR$(RL)+CHR$(RH)+CHR$(1)
- 12600 INPUT#15,E,E$,AA,B
- 12700 IF E=0ORE=50THENRETURN
- 12800 PRINTE;E$;AA;B:CLOSE8:CLOSE15:END
- 12900 :
- 13000 :
- 13100 REM\ STRING COMPARE SUB
- 13200 REM VALUES RETURNED IN RV
- 13300 REM 0 - SUBSTRING NOT FOUND
- 13400 REM 1 - SUBSTRING FOUND
- 13500 REM 2 - SUBSTRING LONGER THAN MAIN STRING
- 13600 :
- 13700 REM CF$=SUBSTRING TO BE COMPARED
- 13800 REM MS$=MAIN STRING
- 13900 :
- 14000 RV=0:A=LEN(CF$):B=LEN(MS$)
- 14100 IFA>BTHENRV=2:RETURN
- 14200 IFA<>BTHEN14500
- 14300 IFMS$=CF$THENRV=1
- 14400 RETURN
- 14500 D=B-A+1
- 14600 FORC=1TOD
- 14700 IFCF$=MID$(MS$,C,A)THENRV=1:C=D
- 14800 NEXT:RETURN
- 14900 :
- 15000 FORI=1TO15:CLOSEI:NEXT:LOAD"LOAD & RUN",XR
- 15100 FORI=1TO15:CLOSEI:NEXT:GOTO1200
- 15200 :
- 15300 :
- 15400 REM\ DISPLAY SUB
- 15500 PRINT"[147]"
- 15600 FORZ=ATOB
- 15700 PRINT""SD$(Z);LEFT$(X$(Z),30)
- 15800 NEXT
- 15900 PRINT"- - - - - - - - - - - - - - - - -"
- 16000 PRINT"CRSR LEFT/RIGHT [144]PAGE"
- 16100 PRINT" CRSR UP/DOWN [144]MOVE POINTER"
- 16200 PRINT" RETURN[144] TOGGLE SELECTION"
- 16300 PRINT" F1[144] SELECT ALL ON SCREEN"
- 16400 PRINT" F2[144] DESELECT ALL ON SCREEN"
- 16500 PRINT" R[144] FILE SELECT SCREEN"
- 16600 PRINT" W[144] WRITE TO MERGE FILE":RETURN
- 20000 IFPEEK(52)<PEEK(50)+3THENYX=FRE(0)
- 20010 RETURN
-